package label_center

import (
	"time"

	"gobase/http_work_flow"

	"github.com/qida/gohp/timex"
)

// 请求 创建
type ReqCreateRecLabelImage struct {
	ImageName      string                  `json:"ImageName"`      //图片文件名称（图片前缀_国标Id_结构化中心Id_媒体中心Id_抽图时间戳_标准时间显示.扩展名)
	ImageUrlStruct string                  `json:"ImageUrlStruct"` //图片下载地址 ，透传字段,人工智能不处理
	TimeImage      TimeImage               `json:"TimeImage"`
	PassInfo       http_work_flow.PassInfo `json:"-"` //与之关联的订阅Id集，透传字段,人工智能不处理
}

// 请求 查询
type ReqSearchRecLabelImage struct {
	KeyWord string `json:"KeyWord,omitempty"` //全局关键词
	IsMore  bool   `json:"IsMore"`            //更多

	ImageName      string    `json:"ImageName"`             //图片文件名称（图片前缀_国标Id_结构化中心Id_媒体中心Id_抽图时间戳_标准时间显示.扩展名)
	LabelId        int64     `json:"LabelId"`               //标签Id
	LabelValue     string    `json:"LabelValue"`            //标签值内容
	IdSubscribe    int64     `json:"IdSubscribe"`           //订阅Id
	IdRecSubscribe int64     `json:"IdRecSubscribe"`        //子订阅Id
	Description    string    `json:"Description"`           //AI识别后的详细描述
	Status         int8      `json:"Status"`                //预删除=-10 未下载=10 下载至Redis=20 下载至磁盘=30 上传至OSS=40
	TimeStart      time.Time `json:"TimeStart"`             //标签标记开始时间
	TimeEnd        time.Time `json:"TimeEnd"`               //标签标记结束时间，默认2099年1月1日
	Page           int64     `json:"Page"`                  //必填 指定返回页码号
	Limit          int64     `json:"Limit"`                 //必填 指定返回每页条数
	FieldOrders    []string  `json:"FieldOrders,omitempty"` //指定要排序的字段数组，默认升序，降序加前缀-，如 ["-Id", "Name"] 按Id降序Name升序排列

	Log Log `json:"Log,omitempty"` //追踪日志
}

// 响应 单一对象
type RespRecLabelImage struct {
	ImageName      string         `json:"ImageName"`      //图片文件名称（图片前缀_国标Id_结构化中心Id_媒体中心Id_抽图时间戳_标准时间显示.扩展名)
	ImageUrl       string         `json:"ImageUrl"`       //图片相对网络地址
	LabelId        int64          `json:"LabelId"`        //标签Id
	LabelName      string         `json:"LabelName"`      //标签名称
	LabelValue     string         `json:"LabelValue"`     //标签值内容
	IdSubscribe    int64          `json:"IdSubscribe"`    //订阅Id
	IdRecSubscribe int64          `json:"IdRecSubscribe"` //子订阅Id
	Description    string         `json:"Description"`    //AI识别后的详细描述
	Status         int8           `json:"Status"`         //预删除=-10 未下载=10 下载至Redis=20 下载至磁盘=30 上传至OSS=40
	TimeImage      time.Time      `json:"TimeImage"`      //抽图时刻
	TimeCreate     time.Time      `json:"TimeCreate"`     //记录创建时间
	TimeUpdate     timex.TimeNull `json:"TimeUpdate"`     //记录更新时间
	TimeDelete     timex.TimeNull `json:"TimeDelete"`     //删除时间
}

// 响应 查询列表
type RespRecLabelImages struct {
	Total          int64               `json:"Total"`          //返回列表的总条数
	RecLabelImages []RespRecLabelImage `json:"RecLabelImages"` //返回列表对象
}
